lib/kernel-args: Store kernel args as key/value entries
authorRobert Fairley <rfairley@redhat.com>
Thu, 29 Aug 2019 16:14:26 +0000 (12:14 -0400)
committerRobert Fairley <rfairley@redhat.com>
Fri, 8 Nov 2019 04:39:10 +0000 (23:39 -0500)
commitaadc4db012ed32455416864c6841e68a8b8ebf58
tree7ccc5f09f3df47569df273c94b45a47cd72dbe28
parent49513ccc1b520220bc89382d751c9a7b9879f2d0
lib/kernel-args: Store kernel args as key/value entries

Define an `OstreeKernelArgsEntry` structure, which holds
both the key and the value. The kargs order array stores
entries for each key/value pair, instead of just the keys.
The hash table is used to locate entries, by storing
entries in a pointer array for each key. The same public
interface is preserved, while maintaining ordering
information of each key/value pair when
appending/replacing/deleting kargs.

Fixes: #1859
src/libostree/ostree-kernel-args.c
src/libostree/ostree-kernel-args.h
tests/test-admin-deploy-karg.sh
tests/test-kargs.c